package com.alameda.user.dto;

import com.alameda.common.base.dto.PageDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Map;

/**
 * 用户操作日志信息
 *
 * @author Lv
 * @date 2025/01/01
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "AdUserOperateLogDTO", description = "用户操作日志")
public class AdUserOperateLogDTO extends PageDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户操作记录id
     */
    @ApiModelProperty(value = "用户操作记录id")
    private Long id;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    private String userName;

    /**
     * 用户类型（0 app端  1 admin端 ）
     */
    @ApiModelProperty(value = "用户类型（0 app端  1 admin端 ）")
    private Integer userType;

    /**
     * 操作api名称
     */
    @ApiModelProperty(value = "操作api名称")
    private String operateApiName;

    /**
     * 操作api时间
     */
    @ApiModelProperty(value = "操作api时间")
    private LocalDateTime operateApiTime;

    /**
     * 操作结果
     */
    @ApiModelProperty(value = "操作结果")
    private String operateApiResult;

    /**
     * 操作链路id
     */
    @ApiModelProperty(value = "操作链路id")
    private String operateApiTraceId;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private Long createId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 修改人id
     */
    @ApiModelProperty(value = "修改人id")
    private Long updateId;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

    /**
     * 逻辑删除标识符  0 未删除   1 已删除
     */
    @ApiModelProperty(value = "逻辑删除标识符  0 未删除   1 已删除")
    private Integer deleteFlag;

    /**
     * 扩展属性
     */
    @ApiModelProperty(value = "扩展属性")
    private Map<String, String> extData;

}
